@font-face {
	font-family: Oblivion;
	src: url(Oblivion.ttf);
}

* {
	transition-duration: 0.5s;
	text-align: center;
	font-family: Inconsolata, monospace;
	font-weight: bold;
	table-align: center;
	margin: auto;
}

*:focus {
	outline: none;
	-webkit-outline: none;
}

/* custom layer transform */

#skaia, #metaMeta { position: absolute; transform: translate(-37.50px, 112.50px); }
#skaia:hover, #metaMeta:hover { transform: translate(-37.50px, 112.50px) scale(1.1, 1.1); }

#aspTime, #metaDerse { position: absolute; transform: translate(112.50px, 112.50px); }
#aspTime:hover, #metaDerse:hover { transform: translate(112.50px, 112.50px) scale(1.1, 1.1); }
#aspSpace, #metaProspit { position: absolute; transform: translate(-187.50px, 112.50px); }
#aspSpace:hover, #metaProspit:hover { transform: translate(-187.50px, 112.50px) scale(1.1, 1.1); }
#aspHeart { position: absolute; transform: translate(92.40px, 187.50px); }
#aspHeart:hover { transform: translate(92.40px, 187.50px) scale(1.1, 1.1); }
#aspMind { position: absolute; transform: translate(-167.40px, 37.50px); }
#aspMind:hover { transform: translate(-167.40px, 37.50px) scale(1.1, 1.1); }
#aspHope { position: absolute; transform: translate(-112.50px, -17.40px); }
#aspHope:hover { transform: translate(-112.50px, -17.40px) scale(1.1, 1.1); }
#aspRage { position: absolute; transform: translate(37.50px, 242.40px); }
#aspRage:hover { transform: translate(37.50px, 242.40px) scale(1.1, 1.1); }
#aspLight { position: absolute; transform: translate(92.40px, 37.50px); }
#aspLight:hover { transform: translate(92.40px, 37.50px) scale(1.1, 1.1); }
#aspVoid { position: absolute; transform: translate(-167.40px, 187.50px); }
#aspVoid:hover { transform: translate(-167.40px, 187.50px) scale(1.1, 1.1); }
#aspLife { position: absolute; transform: translate(37.50px, -17.40px); }
#aspLife:hover { transform: translate(37.50px, -17.40px) scale(1.1, 1.1); }
#aspDoom { position: absolute; transform: translate(-112.50px, 242.40px); }
#aspDoom:hover { transform: translate(-112.50px, 242.40px) scale(1.1, 1.1); }
#aspBreath, #metaClasses, #player1 { position: absolute; transform: translate(-37.50px, -37.50px); }
#aspBreath:hover, #metaClasses:hover, #player1:hover { transform: translate(-37.50px, -37.50px) scale(1.1, 1.1); }
#aspBlood, #metaAspects { position: absolute; transform: translate(-37.50px, 262.50px); }
#aspBlood:hover, #metaAspects:hover { transform: translate(-37.50px, 262.50px) scale(1.1, 1.1); }

/* custom layer style */

#metaAspects {
	color: #e5b9ff !important;
	background-color: #2e0149 !important;
}
#metaClasses {
	color: #cfc4ff !important;
	background-color: #020d65 !important;
}

/* extra quirk */

alternate {
	font-family: Oblivion;
	transform: scale(-1, -1) !important;
}

gs {
	font-family: inherit;
	animation: gsAnim .10s linear infinite;
}

@keyframes gsAnim {
	0% { color: #00d246; }
	50% { color: #00ed4f; }
	50.01% { color: #00ed4f; }
	100% { color: #00ed4f; }
}

ts {
	font-family: inherit;
	animation: tsAnim .35s linear infinite;
}

@keyframes tsAnim {
	0% { color: #ffd1d1; }
	14.27% { color: #ffd1d1; }
	14.28% { color: #ffe6d1; }
	28.56% { color: #ffe6d1; }
	28.57% { color: #fff6d1; }
	42.85% { color: #fff6d1; }
	42.86% { color: #d1ffe3; }
	57.13% { color: #d1ffe3; }
	57.14% { color: #d1f9ff; }
	71.41% { color: #d1f9ff; }
	71.42% { color: #d1dcff; }
	85.7% { color: #d1dcff; }
	85.71% { color: #f0d1ff; }
	100% { color: #f0d1ff; }
}

.pesterlog {
	margin: 20px;

	width: calc(100% - 40px);
	padding-bottom: 10px;
	border: 2px solid #c48a05;

	background-color: #ffffff;
	color: #000000;
	
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
}

.channel {
	background: #ffb500;
	width: calc(100% - 10px);
	padding: 5px;
	border-bottom: 2px solid #c48a05;
	box-shadow: 0 3px 10px 0px #c48a05;

	position: sticky;
	top: 0px;
}
.msg {
	display: inline-block !important;

	text-align: left;
	
	max-width: 80%;
	border: 2px solid #ffb500;
	box-shadow: 3px 3px 3px 0px #0008, 0 0 3px 0 #0008;

	padding: 5px 10px;
	margin: 1px 8px;
}
.msg.troll {
	max-width: 80%;
	border: 2px solid #e90013;
}
.handler {
	display: block !important;
	font-size: 12px;
	padding: 7px 8px 3px 8px;
	width: calc(100% - 6px);
	text-align: left;
}
.msg.right, .handler.right {
	text-align: right;
}

.sburbCanvas {
	position: absolute;
	top: 0%;
	left: 0%;
	transition: none;
	z-index: 999999;
}

.discordInvite {
	display: inline-block;
	font-size: 12px;
	width: 320px;
	height: 80px;
	margin: 5px;
	border: 2px solid rgba(0, 0, 0, 0.125);
	box-shadow: 0 0 5px black;
	border-radius: 5px;
	position: relative;
}

.v-center {
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.vh-center {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.debug {
	position: fixed;
	bottom: 5px;
	left: 5px;
	text-shadow: 0 0 10px var(--background), 0 0 5px var(--background);
}

/* end of custom styles */

body {
	background-color: var(--background);
	color: var(--color);
	overflow: hidden;
	--background: #0f0f0f;
	--color: #dfdfdf;
	--points: #ffffff;
}

.title-bar {
	width: 450px;
	height: 32px;
	padding-bottom: 5px;
	margin: 10px;
	border: 2px solid rgba(0, 0, 0, 0.125);
	border-radius: 10px;
	display: table-cell;
	vertical-align: middle
}

.act-bar {
	width: 480px;
	border: 4px solid #f3f3f2;
	background: linear-gradient(#ffffff, #f6f6f5);
	color: #00b1ff;
	border-radius: 5px;
	margin: 5px;
	padding: 10px;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.4;
	transform: scale(1);
}

.act-bar h2 {
	color: #c9c9c9;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	font-weight: normal;
	font-size: 21px;
}

html, body {
	min-height: 100%;
	height: 100%;
}

td {
	padding: 0
}

spoiler {
	background-color: var(--color);
	border-radius: 5px;
	transition-duration: 0.1s;
	cursor: pointer;
	color: transparent;
}

	spoiler:active {
		background-color: transparent;
		color: var(--color);
	}

button {
	background-color: var(--color);
	border: 2px solid rgba(0, 0, 0, 0.125);
	border-radius: 3px;
}

.upgTable {
	display: flex !important;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
}

.upgRow {
	display: flex !important;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
}

.upgAlign {
	vertical-align: 0
}

.bigUpgAlign {
	vertical-align: 0
}

h1, h2, h3, b, input, .pesterlog > * > * {
	display: inline;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace
}

.courier {
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace
}



.treeNode {
	height: 70px;
	width: 70px;
	margin: 5px;
	border: var(--hqProperty1);
	border-color: rgba(0, 0, 0, 0.125);
	border-radius: 50%;
	box-shadow: var(--hqProperty2a), var(--hqProperty2b);
	font-size: 40px;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
	color: rgba(0, 0, 0, 0.5);
	text-shadow: var(--hqProperty3);
	padding: 0;
	margin: 0 10px 0 10px;
}


.treeButton {
	height: 70px;
	width: 70px;
	margin: 5px;
	border: var(--hqProperty1);
	border-color: rgba(0, 0, 0, 0.125);
	border-radius: 33%;
	box-shadow: var(--hqProperty2a), var(--hqProperty2b);
	font-size: 40px;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
	color: rgba(0, 0, 0, 0.5);
	text-shadow: var(--hqProperty3);
	padding: 0;
}


.smallNode {
	height: 50px;
	width: 50px;
	font-size: 30px;
}


.locked {
	background-color: #9f6f6f;
	cursor: not-allowed;
}

.can {
	cursor: pointer;
}

.can:hover {
	transform: scale(1.1, 1.1);
	box-shadow: 0 0 20px var(--points)
}


.resetNotify {
	box-shadow: var(--hqProperty2a), 0 0 8px #ffffff;
	z-index: 3
}

.treeNode.can:hover {
	transform: scale(1.1, 1.1);
	box-shadow: var(--hqProperty2a), 0 0 20px var(--points);
	z-index: 4
}

.notify {
	transform: scale(1.05, 1.05);
	border-color: rgba(0, 0, 0, 0.125);
	box-shadow: var(--hqProperty2a), 0 0 20px #ff0000;
	z-index: 3
}

.bought {
	background-color: #77bf5f;
	cursor: default;
}

.back {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	border: 1px solid transparent;
	color: var(--color);
	font-size: 40px;
	cursor: pointer;
}

.other-back {
	position: absolute;
	top: 0;
	left: 60px;
	background-color: transparent;
	border: 1px solid transparent;
	color: var(--color);
	font-size: 60px;
	cursor: pointer;
}


.back:hover {
	transform: scale(1.1, 1.1);
	text-shadow: 0 0 7px var(--color);
}

.barBase {
	overflow: hidden;
	mask-image: url();
	-webkit-mask-image: url();
	display:table
}

.barBorder {
	border: 2px solid;
	border-radius: 10px;
	border-color: var(--color);
	overflow: hidden;
	mask-image: url();
	-webkit-mask-image: url();
	margin:0
}

.overlayTextContainer {
	z-index: 3;
	border-radius: 10px;
	vertical-align: middle;
	display: flex;
	justify-content: center;
	align-items: left;
	position: absolute;
}

.fill {
	background-color: var(--color);
	z-index:2;
    position: absolute;
	overflow: hidden;
	margin-left: -0.5px;
}

.overlayText {
	z-index: 6;
}

.tabButton {
	background-color: transparent;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
	color: var(--color);
	font-size: 20px;
	cursor: pointer;
	padding: 5px 20px;
	margin: 5px;
	border-radius: 10px;
	border: 2px solid;
	border-color: rgba(255, 255, 255, 0.5);
}

.tabButton:hover {
	transform: scale(1.1, 1.1);
	text-shadow: 0 0 7px var(--color);
}

.reset {
	height: 120px;
	width: 180px;
	border-radius: 25%;
	border: 4px solid;
	border-color: rgba(0, 0, 0, 0.125);
}

.upg {
	min-height: 120px;
	width: 120px;
	border-radius: 25%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
	font-size: 10px;
	overflow: visible;
}

.achievement {
	height: 90px;
	width: 90px;
	border-radius: 25%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
	font-size: 10px;
	color: white;
	text-shadow: 0 0 1px #000000, 0 0 2px #000000, 0 0 3px #000000, 0 0 4px #000000, 0 0 6px #000000, 0 0 8px #000000;
}
.achievement:hover {
	box-shadow: 0 0 10px var(--points);
	z-index: 7;
}

.buyable {
	height: 200px;
	width: 200px;
	border-radius: 25%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
	font-size: 10px;
}

.upgBig {
	height: 200px;
	width: 200px;
	border-radius: 25%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
}

.longUpg {
	height: 50px;
	width: 120px;
	background: var(--points);
	border-radius: 50%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
	font-size: 10px;
}

.smallUpg {
	height: 40px;
	width: 40px;
	border-radius: 25%;
	border: 2px solid;
	border-color: rgba(0, 0, 0, 0.125);
}

#points {
	color: var(--points);
	text-shadow: 0 0 10px var(--points), 0 0 10px var(--background), 0 0 5px var(--background);
}

#optionWheel {
	position: absolute;
	top: 0;
	left: 0;
	height: 50px;
	width: 50px;
	cursor: pointer;
}

#optionWheel:hover {
	transform: rotate(360deg);
}

#info {
	font-size: 20px;
	color: white;
	position: absolute;
	top: 50px;
	left: 4px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #02f2f2;
}

#info:hover {
	transform: scale(1.2, 1.2);
	text-shadow: 5px 0 10px #02f2f2,
              -3px 0 12px #02f2f2;
}

#discord {
	position: absolute;
	top: 120px;
	left: 4px;
	width: 40px;
	height: 40px;
}

#discord img {
	width: 100%;
	height: 100%;
}

#discord-links {
	position: absolute;
	top: 30px;
	padding-top: 10px;
	left: -260px;
	width: 200px;
	transition: left .3s ease;

	background-color: var(--background);
	box-shadow: 0 0 15px 15px var(--background);
}

#discord:hover #discord-links {
	left: -4px;
}

#version {
	position: absolute;
	right: 4px;
	top: 4px;
	text-align: right;
	color: var(--points);
	text-shadow: 0 0 10px var(--points), 0 0 10px var(--background), 0 0 10px var(--points);
	cursor: pointer;
}

#version:hover {
	transform: scale(1.1, 1.1);
	right: 4.8px;
}

a {
	color: #007fff;
	text-decoration-line: none;
	cursor: pointer
}

.link {
	display: block;
	font-size: 20px;
	color: #41f5f5;
	cursor: pointer;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #02f2f2;
	text-decoration: none;
}

.link:hover {
	transform: scale(1.2, 1.2);
	text-shadow: 5px 0 10px #02f2f2,
              -3px 0 12px #02f2f2;
}

.opt {
	height: 100px;
	width: 100px;
	border-radius: 25%;
	border: 4px solid;
	background-color: var(--color);
	border-color: rgba(0, 0, 0, 0.125);
	color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

.opt:hover {
	background-color: #439ea3;
}

.hidden {
	visibility: hidden;
	height: 50px !important;
}

.canvas {
	top: 0;
	left: 0;
	position: absolute;
	z-index: -999;
}

.milestone {
	width: 100%;
	min-width: 120px;
	padding: 5px;
	height: 75px;
	background-color: #9f6f6f;
	border: 4px solid;
	border-radius: 4px;
	border-color: rgba(0, 0, 0, 0.125);
	color: rgba(0, 0, 0, 0.5);
}

.milestoneDone {
	width: 100%;
	min-width: 120px;
	padding: 5px;
	height: 75px;
	background-color: #77bf5f;
	border: 4px solid;
	border-radius: 4px;
	border-color: rgba(0, 0, 0, 0.125);
	color: rgba(0, 0, 0, 0.5);
}

.left {
	position: absolute;
	left: 0;
}

.remove {
	height: 24px;
	width: 24px;
	cursor: pointer;
}

.remove:hover {
	transform: scale(1.1, 1.1);
}

.col {
	min-width: 49.5%;
	max-width: 49.5%;
	width: 49.5%;
	height: 100%;
	min-height: 100%;
	column-span: 1;
	position: absolute;
	overflow-y: auto;
	overflow-x: auto;
	transition-duration: 0s
}

.instant {
	transition-duration: 0s !important
}

.fast {
	transition:color none
}

.col.right {
	top: 0;
	right: 0;
}

#app {
	column-count: 2;
	column-width: 50%;
	min-height: 100%;
}

.vl {
	border-left: 6px solid var(--color);
	height: 100%;
	position: absolute;
	left: 50%;
	margin-left: -3px;
	top: 0
}

.vl2 {
	border-left: 3px solid var(--color);
	height: 100%;
}

.hl {
	border-top: 3px solid var(--color);
}

ul {
	list-style-type: none;
}

.hChallenge {
	padding: 5px;
	background-color: #9f6f6f;
	border: 4px solid;
	border-color: rgba(0, 0, 0, 0.125);
	color: rgba(0, 0, 0, 0.5);
	width: 300px;
	height: 300px;
	font-size: 15px;
	border-radius: 33.33%;
}

.hChallenge.done {
	background-color: #77bf5f;
}

.hChallenge.canComplete {
	background-color: #ffbf00;
}

.fullWidth {
	position: absolute;
	height: 100%;
	width: 100%;
	min-width: 100%;
	overflow-y: auto;
	overflow-x: auto;
	transition-duration: 0s
}

.tooltipBox { 
	position: relative;
	display: inline-block;
  }
  
  .tooltipBox:hover .tooltip{
	opacity: 1;
  }

  .forceTooltip .tooltip{
	opacity: 1;
  }
  
  .tooltip { 
	pointer-events: none;
	text-align: center;
	width: 150px;
	font-size: 16px;
	line-height: 1.2;
	bottom: 100%;
	left: 50%;
	margin-bottom: 5px;
	margin-left: -82.5px;
	padding: 7px;
	font-family: "Courier New", "Courier Prime", "Lucida Console", monospace;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	opacity: 0;
	transition: opacity 0.5s, transform 0.5s;
  
	position: absolute;
	z-index: 2147483647 !important;
	transform: translate(0px, 0px);
  
	background-color: var(--background_tooltip);
	color: var(--points);
	content: attr(tooltip);
	font-size:14px;

  }

  .tooltip::after {
	content: " ";
	position: absolute;

	bottom: 100%;
	left: 50%;
	top: 100%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: var(--background_tooltip) transparent transparent transparent;
  }

  .tooltip::before {
	content: " 📌";
	color: var(--points);
	font-size: 10px;
	position: absolute;
	right: -8px;
	top: -8px;
	opacity: 0;
	transition-duration: 0.2s;
  }
  .forceTooltip .tooltip::before {
	font-size: 8px;
	right: -3px;
	top: -3px;
	opacity: 0.5;
  }
  .forceTooltip:hover .tooltip::before {
	font-size: 10px;
	right: -5px;
	top: -5px;
	opacity: 1;
  }
  
  .can:hover .tooltip {
	  transform: scale(0.9090909, 0.9090909);
  }

#loadingSection {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.treeOverlay {
	pointer-events:none;
	overflow: visible;
}

.overlayThing {
	z-index: 10000;
	pointer-events: auto;
	/* background-color: var(--background); */
	text-shadow: 0 0 10px var(--background), 0 0 5px var(--background);
}

.sideLayers {
	z-index: 10000;
	pointer-events:auto;
	position: absolute;
	right: 55px;
	top: 65px;
}

button > * {
	pointer-events:none;
}

.ghost {
	visibility: hidden
}

.story {
    width: 600px;
    max-width: 95%;
    border-bottom: solid 4px;
    border-radius: 8px;
    margin-bottom: 8px;
    text-align: left;
}

.story-title {
    text-align: left;
    font-size: 24px;
    color: black;
    cursor: pointer;
    border: none;
    padding: 2px;
    border-radius: 8px 8px 0 0;
}

.story-toggle {
    border: none;
    background: black;
    color: white;
    font-size: 20px;
    pointer-events: none;
    width: 1em;
    display: inline-block;
}

.story-text {
	padding: 2px;
    border: solid 4px;
    border-color: inherit;
    border-radius: inherit;
    border-top-left-radius: 0;
    margin-bottom: -2px;
}

#treeTab td button {
    margin: 0 10px;
}

.saveState {
	width: 400px;
	border: 2px solid #ffffff7f;
	border-radius: 4px;
	text-align: left;
	padding: 8px;
	line-height: 0.9;
	margin-bottom: 10px;
}
.saveState > input, .modal > div > span > input {
	padding: 0;
	margin: 0;
	font-size: 21px;
	font-weight: bold;
	color: var(--color);
	background-color: transparent;
	border: none;
	width: 100%;
}
.saveState > input {
	text-align: left;
}